assume cs:code,ds:data,ss:stack
data segment
	db 'Welcome to masm!'
data ends
stack segment
	db 16 dup(0)
stack ends
code segment

start:
	mov ax,data
	mov ds,ax
	mov ax,stack
	mov ss,ax
	mov ax,0b800h
	mov es,ax
	mov sp,10h
	mov bp,0
	mov si,0
	mov ah,00001100b
	mov cx,3
	push cx
s0:	
	mov cx,10h   
	mov bx,0
	mov si,0
s1:
	mov al,[bx]
	mov es:[bp+si],al
	mov es:[bp+si].1,ah
	add si,2
	inc bx
	loop s1
	add bp,0a0h
	pop cx
	dec cx
	jcxz over
	push cx
	dec cx
	jcxz ys1
	jmp ys2
ys1:
	mov ah,01001001b
	jmp s0
ys2:
	mov ah,00101100b
	jmp s0
over:
	mov ax,4c00h
	int 21h
code ends
end start